home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / python2.4 / lib-old / zmod.pyo (.txt) < prev   
Python Compiled Bytecode  |  2005-10-18  |  2KB  |  92 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.4)
  3.  
  4. import poly
  5. N = 5
  6. P = poly.plus(poly.one(0, 2), poly.one(2, 1))
  7.  
  8. def mod(x, y):
  9.     return divmod(x, y)[1]
  10.  
  11.  
  12. def norm(a, n, p):
  13.     a = poly.modulo(a, p)
  14.     a = a[:]
  15.     for i in range(len(a)):
  16.         a[i] = mod(a[i], n)
  17.     
  18.     a = poly.normalize(a)
  19.     return a
  20.  
  21.  
  22. def make_all(mat):
  23.     all = []
  24.     for row in mat:
  25.         for a in row:
  26.             all.append(a)
  27.         
  28.     
  29.     return all
  30.  
  31.  
  32. def make_elements(n, d):
  33.     if d == 0:
  34.         return [
  35.             poly.one(0, 0)]
  36.     
  37.     sub = make_elements(n, d - 1)
  38.     all = []
  39.     for a in sub:
  40.         for i in range(n):
  41.             all.append(poly.plus(a, poly.one(d - 1, i)))
  42.         
  43.     
  44.     return all
  45.  
  46.  
  47. def make_inv(all, n, p):
  48.     x = poly.one(1, 1)
  49.     inv = []
  50.     for a in all:
  51.         inv.append(norm(poly.times(a, x), n, p))
  52.     
  53.     return inv
  54.  
  55.  
  56. def checkfield(n, p):
  57.     all = make_elements(n, len(p) - 1)
  58.     inv = make_inv(all, n, p)
  59.     all1 = all[:]
  60.     inv1 = inv[:]
  61.     all1.sort()
  62.     inv1.sort()
  63.     if all1 == inv1:
  64.         print 'BINGO!'
  65.     else:
  66.         print 'Sorry:', n, p
  67.         print all
  68.         print inv
  69.  
  70.  
  71. def rj(s, width):
  72.     if type(s) is not type(''):
  73.         s = `s`
  74.     
  75.     n = len(s)
  76.     if n >= width:
  77.         return s
  78.     
  79.     return ' ' * (width - n) + s
  80.  
  81.  
  82. def lj(s, width):
  83.     if type(s) is not type(''):
  84.         s = `s`
  85.     
  86.     n = len(s)
  87.     if n >= width:
  88.         return s
  89.     
  90.     return s + ' ' * (width - n)
  91.  
  92.